package dto;

import java.util.Collection;
import java.util.HashSet;
import java.util.LinkedList;
import java.util.Set;


public class Researcher {

	private Integer ID_DB;
	private int ID_CONICET = -1;
	private String name;
	private Set<String> alias = new HashSet<String>();
	private LinkedList<String> titles = new LinkedList<String>();
	private String category;
	private String disciplinaCientifica;
	private String disciplinaDesagregada;
	private String campoDeAplicacion;
	private String speciality;
	private String topic;
	private LinkedList<String> workPlaces = new LinkedList<String>();
	private LinkedList<Paper> papers = new LinkedList<Paper>();
	private Researcher director;
	private Researcher codirector;
	
	
	public Researcher(){
	}
	
	public void agregarArticulo(Paper p){
		papers.add(p);
	}

	public LinkedList<String> getTitles() {
		return titles;
	}
	
	public String getName() {
		return name;
	}

	public void setName(String name) {
		this.name = name;
	}

	public void agregarAlias(String nombre) {
		alias.add(nombre);
	}
	
	public void agregarAlias(Collection<String> a){
		alias.addAll(a);
	}
	
	public void agregarTitulos(Collection<String> a){
		titles.addAll(a);
	}

	public String getCategory() {
		return category;
	}
	
	public void setCategory(String category) {
		this.category = category;
	}
	
	public String getDisciplinaCientifica() {
		return disciplinaCientifica;
	}
	
	public void setDisciplinaCientifica(String disciplina) {
		this.disciplinaCientifica = disciplina;
	}
	
	public String getDisciplinaDesagregada() {
		return disciplinaDesagregada;
	}
	
	public void setDisciplinaDesagregada(String disciplina) {
		this.disciplinaDesagregada = disciplina;
	}
	
	
	public String getSpeciality() {
		return speciality;
	}
	
	public void setSpeciality(String speciality) {
		this.speciality = speciality;
	}
	
	public String getTopic() {
		return topic;
	}
	
	public void setTopic(String topic) {
		this.topic = topic;
	}

	public String getCampoDeAplicacion() {
		return campoDeAplicacion;
	}

	public void setCampoDeAplicacion(String campoDeAplicacion) {
		this.campoDeAplicacion = campoDeAplicacion;
	}

	public LinkedList<String> getWorkPlaces() {
		return workPlaces;
	}

	public void agregarWorkPlaces(LinkedList<String> workPlaces) {
		this.workPlaces.addAll(workPlaces);
	}

	public Researcher getDirector() {
		return director;
	}

	public void setDirector(Researcher director) {
		this.director = director;
	}

	public int getID() {
		return ID_CONICET;
	}

	public void setID(int ID) {
		this.ID_CONICET = ID;
	}

	public Researcher getCodirector() {
		return codirector;
	}

	public void setCodirector(Researcher codirector) {
		this.codirector = codirector;
	}

	public Set<String> getAlias() {
		return alias;
	}

	public LinkedList<Paper> getPapers() {
		return papers;
	}

	public void setPapers(LinkedList<Paper> papers) {
		this.papers = papers;
	}

	public Integer getID_DB() {
		return ID_DB;
	}

	public void setID_DB(int iD_DB) {
		ID_DB = iD_DB;
	}
	
	@Override
	public String toString(){
		return name;
	}
}
